package com.walming.generator.support.service;

import com.walming.generator.copycat.mybatisplus.service.IService;
import com.walming.generator.support.domain.GenTemplate;

import java.util.List;

/**
 * 代码生成模版 IService
 *
 * @author jianxiao
 * @date 2020/12/18 13:41
 */
public interface IGenTemplateService extends IService<GenTemplate> {

    /**
     * 根据模版类型获取模版列表
     *
     * @param templateType 模版类型
     * @param tplCategory  操作模板（crud单表操作 tree树表操作 sub主子表操作）
     * @return List<GenTemplate>
     */
    List<GenTemplate> selectTemplateByType(String templateType, String tplCategory);

    /**
     * 新增保存代码模版信息
     *
     * @param template 模版信息
     * @return 结果
     */
    int saveTemplate(GenTemplate template);

    /**
     * 修改保存代码模版信息
     *
     * @param template 模版信息
     * @return 结果
     */
    int updateTemplate(GenTemplate template);

    /**
     * 校验模版类型与名称是否唯一
     *
     * @param template 模板
     * @return String
     */
    String checkTemplateUnique(GenTemplate template);

    /**
     * 批量删除代码生成模版
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteTemplateByIds(String ids);

    /**
     * 重置缓存
     */
    void resetCache();

}
